'''
Created on 05/10/2013

@author: daniel
'''
import unittest

class Documento():
    def __init__(self,*contenido):
        i=self.__tamanio__=0
        while(i<len(contenido)):
            self.__tamanio__+=contenido[i].__sizeof__()
            i+=1
#         print self.__tamanio__
        self.__texto__=""
        i=0
        while(i<len(contenido)):
            self.__texto__+=contenido[i]+"\n"
            i+=1
#         print self.__texto__
            
    def __str__(self):
        return self.__texto__
    
    def __cmp__(self,unDocumento):
        if(unDocumento.__tamanio__>self.__tamanio__):return -1#self es mas chico
        elif(unDocumento.__tamanio__<self.__tamanio__):return 1#self es mas grande
        else: return 0

class Test(unittest.TestCase):


    def testInit(self):
        self.assertIsInstance(Documento("Lunes", "Martes", "Miercoles","Jueves"), Documento, "Verifica creacion del documento")

    def testCmp(self):
        unDoc=Documento("este es el primer documento")
        self.assertEqual(unDoc.__cmp__(Documento("este es el primer documento")), 0, "Verifica igualdad de documentos")
        self.assertEqual(unDoc.__cmp__(Documento("s")),1, "Verifica documento mas pequenio")
        self.assertEqual(unDoc.__cmp__(Documento("Lunes", "Martes", "Miercoles","Jueves")), -1, "Verifica documento mas grande")
        self.assertEqual(unDoc.__cmp__(Documento(" este es el primer documento")), -1, "Verifica documento mas grande")
    
if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()